package com.dsprun.dspai.dto;


import jakarta.validation.constraints.*;
import lombok.Data;

/**
 * 文档问答请求参数
 * 用于向已上传的文档提问
 */
@Data
public class AskDocumentRequest {
    /**
     * 问题内容（必填）
     */
    @NotBlank(message = "问题内容不能为空")
    @Size(max = 500, message = "问题长度不能超过500个字符")
    private String question;

    /**
     * 文档ID（必填）
     * 通过/load-document接口获取
     */
    @NotBlank(message = "文档ID不能为空")
    private String documentId;

    /**
     * 是否返回参考来源片段
     */
    private boolean includeReferences = false;

    /**
     * 返回的参考片段数量（当includeReferences=true时生效）
     */
    @Min(1)
    @Max(5)
    private int referenceCount = 2;

    /**
     * 回答的语言（ISO 639-1代码）
     * 示例：zh, en
     */
    @Pattern(regexp = "[a-z]{2}", message = "语言代码必须是2个字母的ISO代码")
    private String answerLanguage = "zh";
}